package com.yanqu.road.entity.clinic;

import com.yanqu.road.entity.DataObject;

import java.util.List;
import java.util.Map;

/**
 * @author ：zfr
 * @date ：2021/2/24 15:38
 *
 */
public class UserClinicData extends DataObject {
    /**
     * 玩家id
     */
    private long userId;
    /**
     * 科室map
     */
    private Map<Integer, DepartmentData> departmentMap;
    /**
     * 病人图鉴(已解锁病人id)
     */
    private List<Integer> unLockPatientList;
    /**
     * 新解锁未刷新的病人id
     */
    private List<Integer> waitGetPatientList;
    /**
     * 病症map
     */
    private Map<Integer, DiseaseData> diseaseDataMap;
    /**
     * 当前特殊事件id
     */
    private int curEvenId;
    /**
     * 事件npc
     */
    private int eventNpc;
    /**
     * 等待触发的事件
     */
    private List<Integer> waitEventList;
    /**
     * 当前事件完成人数
     */
    private int eventCompeteNum;
    /**
     * 聚宝盆收益
     */
    private ClinicRewardData clinicRewardData;
    /**
     * 病人数量
     */
    private int patientNum;
    /**
     * 最后一次获得病人时间
     */
    private long lastGetPatientTime;
    /**
     * 最后一次诊断病人时间
     */
    private long lastCuredTime;
    /**
     * 当前接待病人数量
     */
    private int curReceptPatientNum;
    /**
     * 排队诊断的病人
     */
    private List<WaitCurePatient> waitCurePatientList;
    /**
     * 最后n个病人诊断信息
     */
    private List<PatientClientState> patientClientStates;
    /**
     * 治愈的病人数量
     */
    private long curedPatientCount;
    /**
     * 医馆评分
     */
    private long clinicScore;
    /**
     * 病人最大id
     */
    private long maxPatientId;
    /**
     * 医馆冲榜数据
     */
    private Map<Integer, RankActivityData> rankActivityDataMap;

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public Map<Integer, DepartmentData> getDepartmentMap() {
        return departmentMap;
    }

    public void setDepartmentMap(Map<Integer, DepartmentData> departmentMap) {
        this.departmentMap = departmentMap;
    }

    public List<Integer> getUnLockPatientList() {
        return unLockPatientList;
    }

    public void setUnLockPatientList(List<Integer> unLockPatientList) {
        this.unLockPatientList = unLockPatientList;
    }

    public List<Integer> getWaitGetPatientList() {
        return waitGetPatientList;
    }

    public void setWaitGetPatientList(List<Integer> waitGetPatientList) {
        this.waitGetPatientList = waitGetPatientList;
    }

    public Map<Integer, DiseaseData> getDiseaseDataMap() {
        return diseaseDataMap;
    }

    public void setDiseaseDataMap(Map<Integer, DiseaseData> diseaseDataMap) {
        this.diseaseDataMap = diseaseDataMap;
    }

    public int getCurEvenId() {
        return curEvenId;
    }

    public void setCurEvenId(int curEvenId) {
        if (this.curEvenId != curEvenId) {
            this.curEvenId = curEvenId;
            setUpdateOption();
        }
    }

    public int getEventNpc() {
        return eventNpc;
    }

    public void setEventNpc(int eventNpc) {
        if (this.eventNpc != eventNpc) {
            this.eventNpc = eventNpc;
            setUpdateOption();
        }
    }

    public List<Integer> getWaitEventList() {
        return waitEventList;
    }

    public void setWaitEventList(List<Integer> waitEventList) {
        this.waitEventList = waitEventList;
    }

    public int getEventCompeteNum() {
        return eventCompeteNum;
    }

    public void setEventCompeteNum(int eventCompeteNum) {
        this.eventCompeteNum = eventCompeteNum;
    }

    public ClinicRewardData getClinicRewardData() {
        return clinicRewardData;
    }

    public void setClinicRewardData(ClinicRewardData clinicRewardData) {
        this.clinicRewardData = clinicRewardData;
    }

    public List<PatientClientState> getPatientClientStates() {
        return patientClientStates;
    }

    public void setPatientClientStates(List<PatientClientState> patientClientStates) {
        this.patientClientStates = patientClientStates;
    }

    public long getCuredPatientCount() {
        return curedPatientCount;
    }

    public void setCuredPatientCount(long curedPatientCount) {
        this.curedPatientCount = curedPatientCount;
        setUpdateOption();
    }

    public long getClinicScore() {
        return clinicScore;
    }

    public void setClinicScore(long clinicScore) {
        this.clinicScore = clinicScore;
        setUpdateOption();
    }

    public int getPatientNum() {
        return patientNum;
    }

    public void setPatientNum(int patientNum) {
        if (this.patientNum != patientNum) {
            this.patientNum = patientNum;
            setUpdateOption();
        }
    }

    public long getLastGetPatientTime() {
        return lastGetPatientTime;
    }

    public void setLastGetPatientTime(long lastGetPatientTime) {
        if (this.lastGetPatientTime != lastGetPatientTime) {
            this.lastGetPatientTime = lastGetPatientTime;
            setUpdateOption();
        }
    }

    public long getLastCuredTime() {
        return lastCuredTime;
    }

    public void setLastCuredTime(long lastCuredTime) {
        this.lastCuredTime = lastCuredTime;
        setUpdateOption();
    }

    public int getCurReceptPatientNum() {
        return curReceptPatientNum;
    }

    public void setCurReceptPatientNum(int curReceptPatientNum) {
        if (this.curReceptPatientNum != curReceptPatientNum) {
            this.curReceptPatientNum = curReceptPatientNum;
            setUpdateOption();
        }
    }

    public List<WaitCurePatient> getWaitCurePatientList() {
        return waitCurePatientList;
    }

    public void setWaitCurePatientList(List<WaitCurePatient> waitCurePatientList) {
        this.waitCurePatientList = waitCurePatientList;
    }

    public long getMaxPatientId() {
        return maxPatientId;
    }

    public void setMaxPatientId(long maxPatientId) {
        if (this.maxPatientId != maxPatientId) {
            this.maxPatientId = maxPatientId;
            setUpdateOption();
        }
    }

    public Map<Integer, RankActivityData> getRankActivityDataMap() {
        return rankActivityDataMap;
    }

    public void setRankActivityDataMap(Map<Integer, RankActivityData> rankActivityDataMap) {
        this.rankActivityDataMap = rankActivityDataMap;
        setUpdateOption();
    }
}
